package com.duobaoyu.dby.supply.biz.client.product.bean.bo;

import com.duobaoyu.dby.channel.adapter.bean.product.TemplateJson;
import com.duobaoyu.dby.supply.db.entity.extend.OrderProductParamExtendInfo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.List;

/**
 * 商品校验返回对象
 *
 * @author fengshaoyu
 * @version 1.0.0
 * @date 2023/10/8 9:01
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SkuInfoCheckBO {
	/**
	 * 异常sku信息
	 */
	private List<SkuInfoCheckBO.ErrorSkuInfo> errorSkuInfoList;
	/**
	 * 校验成功sku信息
	 */
	private List<SkuInfoCheckBO.SkuInfo> skuInfoList;

	@Data
	@Builder
	@AllArgsConstructor
	@NoArgsConstructor
	public static class ErrorSkuInfo {
		/**
		 * skuCode
		 */
		private String skuCode;
		/**
		 * 错误信息
		 */
		private String message;
	}

	@Data
	@Builder
	@AllArgsConstructor
	@NoArgsConstructor
	public static class SkuInfo {
		/**
		 * 渠道编码
		 */
		private String channelCode;
		/**
		 * 商品类型 :real->实物商品；call->话费快充商品；coupon->卡券；recharge->直充商品；call_slow->话费慢充商品；electricity_fees_slow->电费慢充商品
		 */
		private String productType;
		/**
		 * 仓储类型,1:保税区邮、2:香港直邮、3:国内、4:法国直邮、5:澳门直邮、6:欧洲直邮、7:澳洲直邮、8:韩国直邮、9:美国直邮、10:日本直邮、11:德国直邮、12:新西兰直邮
		 */
		private Integer repositoryType;
		/**
		 * 商品编码
		 */
		private String productCode;
		/**
		 * 渠道商品编码
		 */
		private String channelProductCode;
		/**
		 * SKU编码
		 */
		private String skuCode;
		/**
		 * 渠道SKU编码
		 */
		private String channelSkuCode;
		/**
		 * 渠道specId
		 */
		private String channelSpecId;
		/**
		 * 渠道供应商
		 */
		private String channelSupplierId;
		/**
		 * 是否可开专票，1：支持，0：不支持
		 */
		private Integer canInvoice;
		/**
		 * 模版 （直充商品存在模板）
		 */
		private TemplateJson templateJson;
		/**
		 * 三级类目ID
		 */
		private Long thirdClassifyId;
		/**
		 * 三级类目名称
		 */
		private String thirdClassifyName;
		/**
		 * SKU名称
		 */
		private String skuName;
		/**
		 * SKU展示图
		 */
		private String skuPic;
		/**
		 * 商品数量
		 */
		private Integer skuNum;
		/**
		 * 原价(面额)
		 */
		private BigDecimal originalPrice;
		/**
		 * 商品单位
		 */
		private String unit;
		/**
		 * 销售属性
		 */
		private String saleAttributes;
		/**
		 * 平台销售价格
		 */
		private BigDecimal platformSellPrice;
		/**
		 * 平台成本价格
		 */
		private BigDecimal platformPrice;
		/**
		 * 未税价
		 */
		private BigDecimal channelNakedPrice;
		/**
		 * 税率
		 */
		private String skuTaxRate;
		/**
		 * 品牌ID
		 */
		private Long brandId;
		/**
		 * 品牌名称
		 */
		private String brandName;
		/**
		 * 1对内，2不对内
		 */
		private Integer insideStatus;
		/**
		 * 是否需要校验身份证
		 */
		private Boolean needVerifyIdentity;
		/**
		 * 商品额外信息
		 */
		private OrderProductParamExtendInfo orderProductParamExtendInfo;
	}
}
